package qeug.shsh.facde.info;

import kd.bos.openapi.common.custom.annotation.ApiModel;
import kd.bos.openapi.common.custom.annotation.ApiParam;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

@ApiModel
public class BPMApplyModel {

    @ApiParam(value = "事前申请流程id", required = true)
    private String requestId;
    @ApiParam(value = "申请人名称", required = true)
    private String applierName;
    @ApiParam(value = "申请人编码", required = true)
    private String applierNum;
    @ApiParam(value = "申请公司名称", required = false)
    private String companyName;
    @ApiParam(value = "申请公司编码", required = false)
    private String companyNumber;
    @ApiParam(value = "申请部门名称", required = true)
    private String adminOrgName;
    @ApiParam(value = "申请部门编码", required = true)
    private String adminOrgNumber;
    @ApiParam(value = "申请日期", required = true)
    private Date bizDate;
    @ApiParam(value = "费用申请部门名称", required = true)
    private String costDeptName;
    @ApiParam(value = "费用申请部门编码", required = true)
    private String costDeptNumber;
    @ApiParam(value = "多币别", required = true)
    private Boolean isCurrency;
    @ApiParam(value = "事由", required = false)
    private String description;

    @ApiParam(value = "费用明细分录", example = "")
    private List<FyEntry> fyEntry;

    public String getRequestId() {
        return requestId;
    }

    public void setRequestId(String requestId) {
        this.requestId = requestId;
    }

    public String getApplierName() {
        return applierName;
    }

    public void setApplierName(String applierName) {
        this.applierName = applierName;
    }

    public String getApplierNum() {
        return applierNum;
    }

    public void setApplierNum(String applierNum) {
        this.applierNum = applierNum;
    }

    public String getCompanyName() {
        return companyName;
    }

    public void setCompanyName(String companyName) {
        this.companyName = companyName;
    }

    public String getCompanyNumber() {
        return companyNumber;
    }

    public void setCompanyNumber(String companyNumber) {
        this.companyNumber = companyNumber;
    }

    public String getAdminOrgName() {
        return adminOrgName;
    }

    public void setAdminOrgName(String adminOrgName) {
        this.adminOrgName = adminOrgName;
    }

    public String getAdminOrgNumber() {
        return adminOrgNumber;
    }

    public void setAdminOrgNumber(String adminOrgNumber) {
        this.adminOrgNumber = adminOrgNumber;
    }

    public Date getBizDate() {
        return bizDate;
    }

    public void setBizDate(Date bizDate) {
        this.bizDate = bizDate;
    }

    public String getCostDeptName() {
        return costDeptName;
    }

    public void setCostDeptName(String costDeptName) {
        this.costDeptName = costDeptName;
    }

    public String getCostDeptNumber() {
        return costDeptNumber;
    }

    public void setCostDeptNumber(String costDeptNumber) {
        this.costDeptNumber = costDeptNumber;
    }

    public Boolean getCurrency() {
        return isCurrency;
    }

    public void setCurrency(Boolean currency) {
        isCurrency = currency;
    }

    public String getDescription() {
        return description;
    }

    public void setDescription(String description) {
        this.description = description;
    }

    public List<FyEntry> getFyEntry() {
        return fyEntry;
    }

    public void setFyEntry(List<FyEntry> fyEntry) {
        this.fyEntry = fyEntry;
    }

    @ApiModel
    public static class FyEntry implements Serializable {

        @ApiParam(value = "费用名目名称", required = true)
        private String expenseItemName;
        @ApiParam(value = "费用名目编码", required = true)
        private String expenseItemNumber;
        @ApiParam(value = "费用发生日期", required = true)
        private Date happendate;
        @ApiParam(value = "币别", required = true)
        private String entryCurrency;
        @ApiParam(value = "汇率", required = true)
        private int exchanGerate;
        @ApiParam(value = "申请金额", required = true)
        private BigDecimal amount;
        @ApiParam(value = "申请金额（本位币）", required = true)
        private BigDecimal amountRaw;
        @ApiParam(value = "备注", required = false)
        private String comment;

        public String getExpenseItemName() {
            return expenseItemName;
        }

        public void setExpenseItemName(String expenseItemName) {
            this.expenseItemName = expenseItemName;
        }

        public String getExpenseItemNumber() {
            return expenseItemNumber;
        }

        public void setExpenseItemNumber(String expenseItemNumber) {
            this.expenseItemNumber = expenseItemNumber;
        }

        public Date getHappendate() {
            return happendate;
        }

        public void setHappendate(Date happendate) {
            this.happendate = happendate;
        }

        public String getEntryCurrency() {
            return entryCurrency;
        }

        public void setEntryCurrency(String entryCurrency) {
            this.entryCurrency = entryCurrency;
        }

        public int getExchanGerate() {
            return exchanGerate;
        }

        public void setExchanGerate(int exchanGerate) {
            this.exchanGerate = exchanGerate;
        }

        public BigDecimal getAmount() {
            return amount;
        }

        public void setAmount(BigDecimal amount) {
            this.amount = amount;
        }

        public BigDecimal getAmountRaw() {
            return amountRaw;
        }

        public void setAmountRaw(BigDecimal amountRaw) {
            this.amountRaw = amountRaw;
        }

        public String getComment() {
            return comment;
        }

        public void setComment(String comment) {
            this.comment = comment;
        }
    }
}
